// axios
import axios from "axios";
import { Message } from "element-ui";
import store from "@/store";

const servies = axios.create({
  baseURL: "https://www.liulongbin.top:8888/api/private/v1",
  timeout: 5000,
});
// 请求拦截器
servies.interceptors.request.use(
  (config) => {
    const token = store.getters.token;
    if (token) {
      config.headers.Authorization = `${token}`;
    }
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);

// 响应拦截器
servies.interceptors.response.use(
  // 响应成功
  (response) => {
    const res = response.data;
    if (res.meta.status === 200 || res.meta.status === 201) {
      // 如果登录的账户名不是admin 就提示报错
      return res.data;
    } else {
      // 如果没有这个返回数据的成功状态说明出错了 就要提示 并且返回错误消息 让具体调用的地方看到错误信息
      //   Message.error("账户名只能叫admin,you know?");
      Message.error(response.data.meta.msg);
      return Promise.reject(new Error(response.data.meta.msg));
    }
  },
  // 响应失败
  (error) => {
    Message.error(error);
    return Promise.reject(new Error(error));
  }
);

export default servies;
